package com.osdp.uc.feign;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.osdp.sc.dto.PermissionDTO;
import com.osdp.sc.dto.RoleDTO;
import com.osdp.sc.dto.TenantUserDTO;
import com.osdp.uc.dto.OrganizationDTO;
import com.osdp.uc.dto.PositionDTO;
import com.osdp.uc.dto.UserDTO;
import org.springframework.stereotype.Component;

import java.util.List;
import java.util.Optional;
import java.util.Set;

@Component
public class UcFeignServiceFallback implements UcFeignService {

    @Override
    public UserDTO queryUserByUserName(String userName) {
        return null;
    }

    @Override
    public UserDTO queryUserById(String userId) {
        return null;
    }

    @Override
    public IPage<UserDTO> userPageList(UserDTO userDTO, int pageNo, int pageSize) {
        return null;
    }

    @Override
    public Boolean updatePassWord(String id, String passWord) {
        return null;
    }

    @Override
    public List<RoleDTO> getRolesByUserId(String userId) {
        return null;
    }

    @Override
    public List<String> getRoleCodeByUserId(String userId) {
        return null;
    }

    @Override
    public List<PermissionDTO> queryPermissionsByUserId(String userId) {
        return null;
    }

    @Override
    public List<PermissionDTO> queryPermissionButtonByUserId(String userId) {
        return null;
    }

    @Override
    public List<PermissionDTO> queryPermissionAPIByUserId(String userId) {
        return null;
    }

    @Override
    public List<String> queryPermsCodeByUserId(String userId) {
        return null;
    }

    @Override
    public Optional<List<PermissionDTO>> queryPermsButtonAndAPIByRoleCode(Set<String> roleCodes, String tenantId) {
        return Optional.empty();
    }

    @Override
    public List<String> queryRoleIdByUserId(String userId) {
        return null;
    }

    @Override
    public List<TenantUserDTO> queryTenantByUserId(String userId) {
        return null;
    }

    @Override
    public String getCurrentTenantId(List<TenantUserDTO> tenants, String tenantCode) {
        return null;
    }

    @Override
    public boolean allow(String uri, String method, Set<String> authoritys) {
        return false;
    }

    @Override
    public List<PositionDTO> queryPositionByUserId(String userId) {
        return null;
    }

    @Override
    public List<OrganizationDTO> queryOrganizationByUserId(String userId) {
        return null;
    }
}
